package com.topgay.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.topgay.dao.CSCenterDAO;
import com.topgay.domain.CSCenter;
import com.topgay.util.BoardUtilities;
import com.topgay.util.PagingBean;

@Service
public class CSCenterServiceImple implements CSCenterService{

	@Autowired
	private CSCenterDAO cSCenterDAO; 
	
	@Override
	public Map getCSCenterList(int page, int divide) {
		HashMap map = new HashMap();
		
//		1. DAO메소드를 이용해 매개변수로 받은 페이지에 보여줄 게시물들을 ArrayList로 조회
		List<CSCenter> list = cSCenterDAO.selectCSCenterList(page, divide);
		map.put("cscenterList", list);
		
//		2. PagingBean객체를 생성 ( 필요 정보 : 전체 게시물의 개수, 보고자 하는 페이지 번호)
//		2-1 : DAO의 메소드를 이용해 전체 게시물 수 조회
		int totalContent = cSCenterDAO.selectTotalContent(divide);
		
//		2-2 : PagingBean 객체 생성
		PagingBean pagingBean = new PagingBean(totalContent, page);
		map.put("pagingBean", pagingBean);
		return map;
	}

	@Override
	public void getWriteContent(CSCenter cscenter) {
		
		//1. 입력일시와 사용자가 입력한 글의 내용을 DB용으로 변환한 것을 매개변수로 받은 board에 설정한다.
		String content = BoardUtilities.changeContentForDB(cscenter.getContent());
		cscenter.setContent(content);
		//2. DAO를 이용해 글을 DB에 등록한다.
		cSCenterDAO.insertCSCenterContent(cscenter, 5);
	}

	@Override
	public int getMaxCscenterDivideNo(int divide) {
		return cSCenterDAO.selectMaxCSCenterDivideNo(divide);
	}

	@Override
	public CSCenter getCSCenterContentByNo(int cscenterNo) {
		
		//1. DAO의 메소드를 이용해 조회수를 1 증가 시킨다.
		cSCenterDAO.updateCSCenterViewCount(cscenterNo);
		CSCenter cscenter = cSCenterDAO.selectCSCenterContentByNo(cscenterNo);
		return cscenter;
	}
	
	
}
